package com.github.itdachen.mapper;

import com.github.itdachen.entity.DevTableColumn;
import com.github.itdachen.sdk.query.DevTableColumnQuery;
import com.github.itdachen.sdk.vo.DevTableColumnVO;

import java.util.List;

/**
 * 代码生成业务表字段 mapper
 *
 * @author 王大宸
 * @date 2023-09-23 21:25:55
 */
public interface IDevTableColumnMapper {

    /***
     * 分页
     *
     * @author 王大宸
     * @date 2023-09-23 21:25:55
     * @param params com.github.itdachen.sdk.query.DevTableColumnQuery
     * @return java.util.List<com.github.itdachen.sdk.vo.DevTableColumnVO>
     */
    List< DevTableColumnVO > findDevTableColumnPage(DevTableColumnQuery params);

    /***
     * 新增
     *
     * @author 王大宸
     * @date 2023-09-23 21:25:55
     * @param devTableColumn devTableColumn
     * @return int int
     */
    int saveDevTableColumn(DevTableColumn devTableColumn);

    /***
     * 根据id查询
     *
     * @author 王大宸
     * @date 2023-09-23 21:25:55
     * @param id 需要查询数据的id
     * @return com.github.itdachen.sdk.vo.devTableColumnVO
     */
     DevTableColumnVO getById(String id);

    /***
     * 更新
     *
     * @author 王大宸
     * @date 2023-09-23 21:25:55
     * @param devTableColumn devTableColumn
     * @return int int
     */
    int updateDevTableColumn(DevTableColumn devTableColumn);

    /***
     * 根据id删除
     *
     * @author 王大宸
     * @date 2023-09-23 21:25:55
     * @param id 需要删除数据的id
     * @return int 影响行数
     */
    int deleteDevTableColumnById(String id);

    /***
     * 根据表ID删除
     *
     * @author 王大宸
     * @date 2023/10/2 15:09
     * @param tableID tableID
     * @return int
     */
    int deleteDevTableColumnByTable(String tableID);

    /***
     * 批量添加
     *
     * @author 王大宸
     * @date 2023-09-23 21:25:55
     * @param list java.util.List<com.github.itdachen.entity.DevTableColumn>
     */
    void  batchSave(List< DevTableColumn > list);

    /***
     * 批量修改
     *
     * @author 王大宸
     * @date 2023-09-23 21:25:55
     * @param list java.util.List<com.github.itdachen.entity.DevTableColumn>
     */
    void batchUpdate(List< DevTableColumn > list);

    /***
    * 根据ID查询数量
    *
    * @author 王大宸
    * @date 2023/11/15 17:23
     * @param tableId tableId
    * @return java.lang.Integer
    */
    Integer findColumnCount(String tableId);

}